#include <iostream>
using namespace std;
int main()
{
    int x, y, z;
    int x1, y1, z1;
    cin >> x >> y >> z;
    cin >> x1 >> y1 >> z1;
    int nums[7];
    for (int i = 1; i < 7; i++)
        cin >> nums[i];
    int res = 0;
    //能看到a1面
    if (y < 0)
    {
        res += nums[1];
    }
    if (y > y1)
    {
        res += nums[2];
    }
    if (z < 0)
    {
        res += nums[3];
    }
    if (z > z1)
    {
        res += nums[4];
    }
    if (x < 0)
    {
        res += nums[5];
    }
    if (x > x1)
    {
        res += nums[6];
    }
    cout << res;
    return 0;
}
/*
给一个长方体，可以由两个对角顶点坐标确定，一个顶点位于原点（0，0,  0），
另一个顶点在点（x1， y1， z1）处。盒子的六个面编号为a1， a2， ..., a6，
每个面的正中央印有一个数字x。



编号位于框上，如下所示：

数字a1写在ZOX平面上的面上；

a2写在与a1所在的平面平行的面上；

a3写在XOY平面上的面上；

a4写在与a3所在的平面平行的面上；

a5写在YOZ平面上的面上；

a6写在与a5所在的平面平行的面上；

此时，你在（x, y, z）处看长方体。

请注意，长方体的所有面都不是透明的，你无法通过长方体看到数字且你能看得足够远，
求出你能看清所看到的面上数字，求能看到的数字之和。



输入说明
第一行输入三个整数x, y, z ，且 |x| , |y|, |z| <=1000000，表示视点位置；

第二行输入三个整数x1, y1, z1 1<= x1, y1, z1 <= 1000000，表示长方体另一顶点坐标；

第三行按编号a1, a2, a3, a4, a5, a6顺序输入六个整数。

数据保证(x, y, z)在长方体之外。



输出说明
输出一个整数，表示你能看到的所有面上的数字之和。



输入样例
输入样例 1

2 2 2

1 1 1

1 2 3 4 5 6

输入样例 2

0 0 10

3 2 3

1 2 3 4 5 6

输出样例
输出样例 1

12

输出样例 2

4

*/